package com.baitai.system.service;

import java.util.Date;
import java.util.List;
import java.util.Map;

import com.alibaba.fastjson2.JSONObject;
import com.baitai.system.domain.ProductOrders;
import com.baitai.system.domain.vo.Express100DTO;

/**
 * 商品订单Service接口
 * 
 * @author xx
 * @date 2024-07-21
 */
public interface IProductOrdersService 
{
    /**
     * 查询商品订单
     * 
     * @param orderId 商品订单主键
     * @return 商品订单
     */
    public ProductOrders selectProductOrdersByOrderId(Long orderId);

    /**
     * 查询商品订单列表
     * 
     * @param productOrders 商品订单
     * @return 商品订单集合
     */
    public List<ProductOrders> selectProductOrdersList(ProductOrders productOrders);

    /**
     * 新增商品订单
     * 
     * @param productOrders 商品订单
     * @return 结果
     */
    public int insertProductOrders(ProductOrders productOrders);

    /**
     * 修改商品订单
     * 
     * @param productOrders 商品订单
     * @return 结果
     */
    public int updateProductOrders(ProductOrders productOrders);

    /**
     * 批量删除商品订单
     * 
     * @param orderIds 需要删除的商品订单主键集合
     * @return 结果
     */
    public int deleteProductOrdersByOrderIds(Long[] orderIds);

    /**
     * 删除商品订单信息
     * 
     * @param orderId 商品订单主键
     * @return 结果
     */
    public int deleteProductOrdersByOrderId(Long orderId);

    List<ProductOrders> appList(ProductOrders productOrders);

    void findOrder(Long orderId);

    void callback(Long orderId, JSONObject express100DTO);

    void updateProductOrdersStatus(JSONObject jsonString);

    List<ProductOrders> verify(Date start, Date end, Long userId);
}
